package com.agileboot.domain.system.danger.db;

import com.agileboot.common.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@TableName("sir_danger_source")
@ApiModel(value = "DangerSourceEntity对象", description = "危险源表")
public class DangerSourceEntity extends BaseEntity<DangerSourceEntity> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("危险源ID")
    @TableId(value = "danger_source_id", type = IdType.AUTO)
    private Long dangerSourceId;

    @ApiModelProperty("危险源编号")
    private String dangerSourceCode;

    @ApiModelProperty("危险类型")
    private String dangerType;

    @ApiModelProperty("危险源名称")
    private String dangerSourceName;

    @ApiModelProperty("责任部门ID")
    private Long dutyDeptId;

    @ApiModelProperty("创建时间")
    private Date createTime;

    @ApiModelProperty("更新时间")
    private Date updateTime;

    @ApiModelProperty("是否删除")
    private Boolean deleted;

    @ApiModelProperty("危险源描述")
    private String dangerSourceDescribe;

    @ApiModelProperty("危险源危害")
    private String harmDescribe;

    @ApiModelProperty("产生原因")
    private String emergeCause;

    @ApiModelProperty("根本原因")
    private String rootCause;

    @ApiModelProperty("关联的整改通知书主键")
    private Long relatedReformId;

    @ApiModelProperty("关联的整改通知书")
    private String relatedReformCode;

    @ApiModelProperty("纠正措施")
    private String correctiveAction;

    @ApiModelProperty("纠正措施预计完成期限")
    private Date correctiveDeadline;

    @ApiModelProperty("预防措施")
    private String precautionAction;

    @ApiModelProperty("预防措施预计完成期限")
    private Date precautionDeadline;

    @ApiModelProperty("措施制定人")
    private String actionMakerName;

    @ApiModelProperty("措施制定时间")
    private Date actionMakeTime;

    @ApiModelProperty("风险代码")
    private String riskCode;
    // 省略大量字段，请按需补全其余字段...

    @Override
    public Serializable pkVal() {
        return this.dangerSourceId;
    }
}
